// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV })

const db = cloud.database()
const user = db.collection('user')

const default_category = [
  ['食物', '交通', '衣服', '网购', '娱乐', '医疗', '其他支出'],
  ['工资', '兼职', '奖金', '红包', '报销', '其他收入']
]

// 云函数入口函数
exports.main = async (event, context) => {
  switch(event.action) {
    case 'getUserInfo': {
      return getUserInfo()
    }
    case 'getConfig': {
      return {
        state: true,
        remarkCache: false
      }
    }
    case 'getAds': {
      return {
        showText: true,
        text: '每天进步一丢丢~',
        showImage: true,
        images: [
          '../../images/ad_1.jpg',
          '../../images/ad_2.jpg',
          '../../images/ad_3.jpg',
        ]
      }
    }
    case 'getHtml': {
      return `<div style="color: #FFFFFF;">
        <h1 style="text-align:center;">关于小程序</h1>
        <div>这是一个开源的免费记账小程序。</div>
        <div>技术交流QQ：861031836</div>
      </div>`
    }
  }
}

/**
 * 查询用户信息
 */
async function getUserInfo() {
  const { OPENID } = cloud.getWXContext()

  var res = await user.where({ _openid: OPENID }).get()
  var userInfo = res.data[0]
  if (!userInfo) {
    // 如果用户不存在，创建用户
    userInfo = {
      _id: null,
      _openid: OPENID,
      category: default_category
    }
    // 则插入数据库
    // res = await user.add({
    //   data: userInfo
    // })
  }
  return userInfo
}
